Minimum mean squared error approach to interference cancellation and maximum likelihood decoding of space-time block codes

ABSTRACT

Block-encoded transmissions of a multi-antenna terminal unit are effectively detected in the presence of co-channel interfering transmissions when the base station has a plurality of antennas, and interference cancellation is combined with maximum likelihood decoding. More specifically, the signals received at the base station antennas are combined in a linear combination that relates to the channel coefficients between the various transmitting terminal units and the base antennas. By selecting proper coefficients for the linear combination and choosing probable transmitted signals that minimize a minimum mean squared error function, the signals of the various terminal units are canceled when detecting the signal of a particular unit. In another embodiment of the invention, the basic approach is used to obtain an initial estimate of the signals transmitted by one terminal unit, and the contribution of those signals is removed from the received signals prior to detecting the signals of other terminal units. In still another embodiment, the decoding process is repeated at least twice by detecting the signals of the terminal units in a different order, and selecting the detections that produce the lowest uncertainty measure. The disclosed techniques are viable for any number K of terminal units transmitting concurrently over a given channel, where each terminal unit is using a space-time block code with N transmit antennas, and a base station has at least K receive antennas.

REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Application No.60/061,145, filed Oct. 6, 1997. This application is also related to U.S.application Ser. No. 09/074,224, filed May 7, 1998, titled “TransmitterDiversity Technique for Wireless Communications”. This application isalso related to U.S. Pat. No. 6,178,196, issued Jan. 23, 2001. Thisapplication is a continuation of U.S. Ser. No. 09/167,380 filed Oct. 6,1998 to be issued as U.S. Pat. No. 6,693,982 on Feb. 17, 2004.

BACKGROUND OF THE INVENTION

This invention relates to wireless communication and, more particularly,to techniques for effective wireless communication in the presence offading, co-channel interference, and other degradations.

Rapid growth in mobile computing and other wireless data services isinspiring many proposals for high speed data services in the range of64-144 kbps for micro cellular wide area and high mobility applicationsand up to 2 Mbps for indoor applications. Research challenges includethe development of efficient coding and modulation, and signalprocessing techniques to improve the quality and spectral efficiency ofwireless communications and better techniques for sharing the limitedspectrum among different high capacity users.

The physical limitation of the wireless channel presents a fundamentaltechnical challenge for reliable communications. The channel issusceptible to time-varying noise, interference, and multipaths. Powerand size limitations of the communications and computing device in amobile handset constitute another major design consideration. Mostpersonal communications and wireless services portables are meant to becarried in a briefcase and/or pocket and must, therefore, be small andlightweight. This translates to a low power requirement since smallbatteries must be used. However, many of the signal processingtechniques which may be used for reliable communications and efficientspectral utilization demand significant processing power, precluding theuse of low power devices. Continuing advances in VLSI and integratedcircuit technology for low power applications will provide a partialsolution to this problem. Still, placing most of the signal processingburden on fixed locations (base stations) with relatively larger powerresources than the mobile units will, likely, continue to be the trendin wireless systems design.

Perhaps the single most important parameter in providing reliablecommunications over wireless channels is diversity. Diversitytechniques, which may be used include time, frequency, and spacediversity

Time diversity: channel coding in combination with limited interleavingis used to provide time diversity. However, while channel coding isextremely effective in fast fading environments (high mobility), itoffers very little protection under slow fading (low mobility) unlesssignificant interleaving delays can be tolerated.Frequency diversity: the fact is that signals transmitted over differentfrequencies induce different multipath structures and independentfading. However, when the multipath delay spread is small compared tothe symbol period, frequency diversity is not helpful.Space diversity: the receiver/transmitter uses multiple antennas thatare separated for reception/transmission and/or differently polarizedantennas to create independent fading channels. Currently, multipleantennas at base-stations are used for receive diversity at the base.However, it is difficult to have more than two antennas at the mobileunit due to the size and cost of multiple chains of RF conversion.

Previous work on transmit diversity can be classified into three broadcategories: schemes using feedback, schemes with feedforward or traininginformation but no feedback, and blind schemes. The third category(blind schemes) relies primarily on multiple transmit antennas combinedwith channel coding to provide diversity. An example of this approach isdisclosed in the aforementioned copending application Ser. No.09/074,224, 1998, titled “Transmitter Diversity Technique for WirelessCommunications,” filed May 7.

SUMMARY OF THE INVENTION

Improved performance is attained in an illustrative arrangement where Ksynchronized terminal units that transmit on N antennas to a basestation having M≧K antennas, by combining interference cancellation (IC)and maximum likelihood (ML) decoding. More specifically, space-timeblock coding is employed in transmitters that employ N transmit antennaseach, and the signals are received in a receiver that employs Mreceiving antennas. In accordance with the processing disclosed herein,by exploiting the structure of the space-time block code, K−1interfering transmitting units are cancelled at the receiver, regardlessof the number of transmitting antennas, N, when decoding the signalstransmitted by a given terminal unit. In another embodiment of theprinciples of this invention, signals of a first terminal unit aredecoded first, and the resulting decoded signals are employed to canceltheir contribution to the signals received at the base station antennaswhile decoding the signals of the remaining K−1 terminal units. Theprocess is repeated among the remaining K−1 terminal units. That is,among the remaining K−1, signals of a first terminal unit is decodedfirst and the resulting decoded signals are employed to cancel theircontribution to the signals received at the base station antennas whiledecoding the signals of the remaining K−2 terminal units, and so on.This procedure is repeated K times, each time starting with decodingsignals of a particular terminal unit. This successive procedure willyield additional performance improvement.

Both zero-forcing (ZF) and minimum mean-squared error (MMSE)interference cancellation (IC) and maximum likelihood (ML) techniquesare disclosed.

BRIEF DESCRIPTION OF THE DRAWING

FIG. 1 depicts an arrangement that, illustratively, includes a receivingbase station (20) and two transmitting terminal units (10 and 30).

DETAILED DESCRIPTION

FIG. 1 illustrates two transmitting units and one receiving unit thatcomport with the principles disclosed herein. However, this is merelyillustrative, and the disclosed method is useful for more than twoterminals (K>2).

Single Transmitting Unit

Transmitting unit 10 may correspond to the transmitting circuitry in aterminal unit, while receiving unit 20 may correspond to the receivingcircuitry in a base station. Terminal unit 30 is shown identical toterminal unit 10. It should be understood, of course, that each terminalunit has a receiving circuit, and the base station has a transmittingcircuit. The terminal units are shown to have two antennas each.Receiving unit 20 is also shown to have two receiving antennas. Here,too, it should be kept in mind that, generally, any number, M≧2, ofreceiving antennas can be had. Particular advantage is realized whenM≧K. Since the mathematical treatment below is couched in general matrixnotations, the expressions are valid for any number K and/or M.

Considering terminal unit 10, the information source provides inputsymbols to element 13 which develops a block code. The symbols aredivided into groups of two symbols each, and at a given symbol period,the two symbols in each group {c₁,c₂} are transmitted simultaneouslyfrom the two antennas. The signal transmitted from antenna 11 is c₁ andthe signal transmitted from antenna 12 is c₂. In the next symbol period,the signal −c₂* is transmitted from antenna 11 and the signal c₁* istransmitted from antenna 12. The symbols are modulated prior totransmission with constellation mappers 14 and 15, followed by pulseshapers 16 and 17, respectively, in a conventional manner.

In receiver 20, signals are received by antennas 21 and 22 and areapplied to detector 25.

In the mathematical development of the algorithms disclosed herein, itis assumed that the channel from each of the two transmit antennasremains fixed over two consecutive symbol periods. That is,h _(i)(nT)=h _(i)((n+1)T), i=1,2.  (1)To ascertain the channel characteristics, the transmitter carries out acalibration session, during which pilot signals or tones aretransmitted. The signals received during the calibration session areapplied to channel estimator circuits 23 and 24, which are well knowncircuits, and the channel characteristics are thus obtained.

When only transmitter 10 is considered, the received signals at antenna21 can be expressed asr ₁₁ =h ₁₁ c ₁ +h ₁₂ c ₂+η₁  (2)r ₁₂ =−h ₁₁ c ₂ *+h ₁₂ c ₁*+η₂  (3)where r₁₁ and r₁₂ are the received signals over two consecutive symbolperiods, h₁₁ denotes the fading channel between transmit antenna 11 andreceive antenna 21, h₁₂ denotes channel between transmit antenna 12 andreceive antenna 21, and η₁ and η₂ are noise terms, which are assumed tobe complex Gaussian random variables with zero mean and power spectraldensity N₀/2 per dimension. Defining the vectors r=[r₁₁r₁₂*]^(T),c=[c₁c₂]^(T), and η=[η₁η₂*]^(T), equations (2) and (3) can be rewrittenin a matrix form asr=H·c+η  (4)where the channel matrix H is defined as

$\begin{matrix}{H = {\begin{bmatrix}h_{11} & h_{12} \\h_{12}^{*} & {- h_{11}^{*}}\end{bmatrix}.}} & (5)\end{matrix}$

The vector η is a complex Gaussian random vector with zero mean andcovariance N₀·I. Defining C as the set of all possible symbol-pairsc={c₁,c₂}, and assuming that all symbol pairs are equi-probable, it canbe easily shown that the optimum maximum likelihood (ML) decoder selectsfrom C the symbol-pair ĉ that minimizes the expression ∥r−H·ĉ∥². Thiscan be written as

$\begin{matrix}{\hat{c} = {\arg\mspace{11mu}{\min\limits_{\hat{c} \in C}{{{r - {H \cdot \hat{c}}}}^{2}.}}}} & (6)\end{matrix}$

It was shown by S. Alamouti in “Space Block Coding: A simple TransmitterDiversity Scheme for wireless Communications,” submitted to IEEE JSAC,September 1997 that the diversity order of the above space-time blockcode is equivalent to that of a two branch maximal ratio receivecombining (MRRC). Because of the orthogonality of the matrix H, Alamoutialso showed that this decoding rule decomposed into two separatedecoding rules for c₁ and c₂. The uncertainty, Δ_(c), of the decodedsymbols ĉ is defined asΔ_(c) =∥r−H·ĉ∥ ².  (7)

It should be noted that the above analysis addresses only receiveantenna 21. When receiver 20 uses both antennas, i.e., antennas 21 and22, two received signal vectors r₁ and r₂ can be defined for antenna 21and 22, respectively, asr ₁ =H ₁ ·c+η ₁  (8)r ₂ =H ₂ ·c+η ₂  (9)where H₁ and H₂ are the channel matrices to receive antennas 21 and 22,respectively, and η₁ and η₂ are the corresponding noise vectors. Thatis,

$\begin{matrix}{{H_{1} = \begin{bmatrix}h_{11} & h_{12} \\h_{12}^{*} & {- h_{11}^{*}}\end{bmatrix}},{{{and}\mspace{14mu} H_{2}} = \begin{bmatrix}h_{21} & h_{22} \\h_{22}^{*} & {- h_{21}^{*}}\end{bmatrix}},} & \left( {9a} \right)\end{matrix}$where h₂₁ denotes the channel between transmit antenna 12 and receiveantenna 22, and h₂₂ denotes the channel between transmit antenna 11 andreceive antenna 22. In this case, the ML decoding rule is

$\begin{matrix}{{\hat{c} = {\arg\mspace{11mu}{\min\limits_{\hat{c} \in C}\left( {{{r_{1} - {H_{1} \cdot \hat{c}}}}^{2} + {{r_{2} - {H_{2} \cdot \hat{c}}}}^{2}} \right)}}},} & (10)\end{matrix}$and the uncertainty of the decoded symbols is defined asΔ_(c) =∥r ₁ −H ₁ ·ĉ∥ ² +∥r ₂ −H ₂ ·ĉ∥ ².  (11)As before, both the matrices H₁ and H₂ are orthogonal matrices and hencethe above decoding rule also decomposes to two separate decoding rulesfor c₁ and c₂. Note that the rate of transmission (of informationsymbols) in the space-time block coding scheme is 1.

Interference Cancellation and ML Decoding: BASIC CASE

FIG. 1, however, shows two terminal units, and the issue that needs tobe addressed is the detection performance at the base station receiverwhen the two terminal units transmit over the same time and frequencychannel.

In the notation below, g₁₁ denotes the fading channel between transmitantenna 31 and receive antenna 21, g₁₂ denotes the channel betweenantenna 31 and antenna 21, g₂₁ denotes the channel between antenna 32and antenna 22, and g₂₂ denotes the channel between antenna 32 andantenna 22. Also, {c₁,c₂} and {s₁,s₂} denote the two symbols transmittedfrom terminal units 10 and 30, respectively.

At receiver 20, the received signals over two consecutive symbol periodsat receive antenna 21, r₁₁ and r₁₂, arer ₁₁ =h ₁₁ c ₁ +h ₁₂ c ₂ +g ₁₁ s ₁ +g ₁₂ s ₂+η₁₁  (12)r ₁₂ =−h ₁₁ c ₂ *+h ₁₂ c ₁ *−g ₁₁ s ₂ *+g ₁₂ s ₁*+η₁₂  (13)Defining r₁=[r₁₁r₁₂*]^(T), c=[c₁ c₂]^(T), s=[s₁ s₂]^(T), and n₁=[η₁₁η₁₂*]^(T) equations (12) and (13) can be rewritten in matrix form asr ₁ =H ₁ ·c+G ₁ ·s+n ₁  (14)where the channel matrices H₁ and G₁ between the transmitter units 10and 30 and receive antenna 21 are given by

$\begin{matrix}{{H_{1} = \begin{bmatrix}h_{11} & h_{12} \\h_{12}^{*} & {- h_{11}^{*}}\end{bmatrix}},{{{and}\mspace{14mu} G_{1}} = \begin{bmatrix}g_{11} & g_{12} \\g_{12}^{*} & {- g_{11}^{*}}\end{bmatrix}}} & (15)\end{matrix}$The vector n₁ is a complex Gaussian random vector with zero mean andcovariance N₀·I. Similarly, the received signals over two consecutivesymbol periods at receive antenna 22, r₂₁ and r₂₂ arer ₂₁ =h ₂₁ c ₁ +h ₂₂ c ₂ +g ₂₁ s ₁ +g ₂₂ s ₂+η₂₁  (16)r ₂₂ =−h ₂₁ c ₂ *+h ₂₂ c ₁ *−g ₂₁ s ₂ *+g ₂₂ s ₁*+η₂₂  (17)In a similar fashion, defining r₂=[r₂₁r₂₂*]^(T) and n₂=[η₂₁η₂₂*]^(T)equations (16) and (17) can be rewritten asr ₂ =H ₂ ·c+G ₂ ·s+n ₂  (18)where the channel matrices H₂ and G₂ between transmitter units 10 and 30and antenna 22 are given by

$\begin{matrix}{{H_{2} = \begin{bmatrix}h_{21} & h_{22} \\h_{22}^{*} & {- h_{21}^{*}}\end{bmatrix}},{{{and}\mspace{14mu} G_{2}} = \begin{bmatrix}g_{21} & g_{22} \\g_{22}^{*} & {- g_{21}^{*}}\end{bmatrix}}} & (19)\end{matrix}$Equations (14) and (18) can be combined to yield the matrix form

$\begin{matrix}{r = {\begin{bmatrix}r_{1} \\r_{2}\end{bmatrix} = {{\begin{bmatrix}H_{1} & G_{1} \\H_{2} & G_{2}\end{bmatrix}\begin{bmatrix}c \\s\end{bmatrix}} + {\begin{bmatrix}n_{1} \\n_{2}\end{bmatrix}.}}}} & (20)\end{matrix}$

Zero-Forcing IC and ML Decoding Scheme: In this case, a matrix W ischosen such that

$\begin{matrix}{{W \cdot \begin{bmatrix}r_{1} \\r_{2}\end{bmatrix}} = {\begin{bmatrix}{\overset{\sim}{r}}_{1} \\{\overset{\sim}{r}}_{2}\end{bmatrix} = {{\begin{bmatrix}\overset{\sim}{H} & 0 \\0 & \overset{\sim}{G}\end{bmatrix} \cdot \begin{bmatrix}c \\s\end{bmatrix}} + \begin{bmatrix}{\overset{\sim}{n}}_{1} \\{\overset{\sim}{n}}_{2}\end{bmatrix}}}} & (21)\end{matrix}$We can find an appropriate matrix W by realizing that

$\begin{matrix}{{\begin{bmatrix}H_{1} & G_{1} \\H_{2} & G_{2}\end{bmatrix}^{- 1} = {{\begin{bmatrix}A_{1}^{- 1} & 0 \\0 & A_{2}^{- 1}\end{bmatrix}\begin{bmatrix}I & {{- G_{1}}G_{2}^{- 1}} \\{{- H_{2}}H_{1}^{- 1}} & I\end{bmatrix}}\mspace{14mu}{where}}}\mspace{14mu}} & (22) \\{A_{1} = {{H_{1} - {G_{1}G_{2}^{- 1}H_{2}\mspace{14mu}{and}\mspace{14mu} A_{2}}} = {G_{2} - {H_{2}H_{1}^{- 1}G_{1}}}}} & (23)\end{matrix}$Hence, if we select W as

$\begin{matrix}{W = \begin{bmatrix}I & {{- G_{1}}G_{2}^{- 1}} \\{{- H_{2}}H_{1}^{- 1}} & I\end{bmatrix}} & (24)\end{matrix}$we will have

$\begin{matrix}{{W \cdot \begin{bmatrix}r_{1} \\r_{2}\end{bmatrix}} = {\begin{bmatrix}{\overset{\sim}{r}}_{1} \\{\overset{\sim}{r}}_{2}\end{bmatrix} = {{\begin{bmatrix}\overset{\sim}{H} & 0 \\0 & \overset{\sim}{G}\end{bmatrix} \cdot \begin{bmatrix}c \\s\end{bmatrix}} + {\begin{bmatrix}{\overset{\sim}{n}}_{1} \\{\overset{\sim}{n}}_{2}\end{bmatrix}\mspace{14mu}{where}}}}} & (25) \\{\begin{matrix}{\overset{\sim}{H} = {H_{1} - {G_{1}G_{2}^{- 1}H_{2}}}} \\{\overset{\sim}{G} = {G_{2} - {H_{2}H_{1}^{- 1}G_{1}}}} \\{{\overset{\sim}{n}}_{1} = {n_{1} - {G_{1}G_{2}^{- 1}n_{2}}}} \\{{\overset{\sim}{n}}_{2} = {n_{2} - {H_{2}H_{1}^{- 1}n_{1}}}}\end{matrix}.} & (26)\end{matrix}$

From equation (25) it can be easily observed that the modified receivedsignal vector {tilde over (r)}₁ contains signals only from transmitter10 (i.e. signals from transmitter 30 have been canceled or removed) and,correspondingly, the modified received signal vector {tilde over (r)}₂contains signals only from transmitter 30 (i.e. signals from transmitter10 have been canceled or removed). A number of other attributes can beshown from the above to be true.

1) the modified noise vector ñ₁ is a zero mean complex Gaussian randomvector with covariance

$\begin{matrix}{R_{n\; 1} = {N_{o} \cdot \left( {1 + \frac{D_{g\; 1}}{D_{g\; 2}}} \right) \cdot I}} & (27)\end{matrix}$where D_(g1)=|g₁₁|²+|g₁₂|² and D_(g2)=|g₂₁|²+|g₂₂|². Hence, the modifiednoise vector ñ₁ is also white.2) the modified noise vector ñ₂ is also a zero mean Gaussian randomvector with covariance

$\begin{matrix}{R_{n\; 2} = {N_{o} \cdot \left( {1 + \frac{D_{h\; 2}}{D_{h\; 1}}} \right) \cdot I}} & (28)\end{matrix}$where D_(h1)=|h₁₁|²+|h₁₂|² and D_(h2)=|h₂₁|²+|h₂₂|², and hence it isalso white.3) The matrices {tilde over (H)} and {tilde over (G)} the form

$\begin{matrix}{{\overset{\sim}{H} = \begin{bmatrix}{\overset{\sim}{h}}_{1} & {\overset{\sim}{h}}_{2} \\{\overset{\sim}{h}}_{2}^{*} & {- {\overset{\sim}{h}}_{1}^{*}}\end{bmatrix}},{{{and}\mspace{14mu}\overset{\sim}{G}} = {\begin{bmatrix}{\overset{\sim}{g}}_{1} & {\overset{\sim}{g}}_{2} \\{\overset{\sim}{g}}_{2}^{*} & {- {\overset{\sim}{g}}_{1}^{*}}\end{bmatrix}.}}} & (29)\end{matrix}$4) Conditioned on G₁ and G₂, the random variables {tilde over (h)}₁ and{tilde over (h)}₂ are both zero mean complex Gaussian random variableswith variance σ_(h) ²=1+D_(g1)/D_(g2).5) Conditioned on H₁ and H₂, the random variables {tilde over (g)}₁ and{tilde over (g)}₂ are both zero mean complex Gaussian random variableswith variance σ_(g) ²=1+D_(h2)/D_(h1).6) The modified channel matrices {tilde over (H)} and {tilde over (G)}have a structure similar to that in equation (5), i.e. the modifiedchannel matrices {tilde over (H)} and {tilde over (G)} are orthogonalmatrices.

Considering the modified received signal vector {tilde over (r)}₁, whichcontains signals only from transmitter 10, i.e.,{tilde over (r)} ₁ ={tilde over (H)}·c+ñ ₁,  (30)it is noted that this expression resembles the expression in equation(4). Hence, in accordance with the principles disclosed therein, theoptimum ML decoder for the symbols transmitted by terminal unit 10evaluates an equation that is similar to the expression of equation (6),and is given by

$\begin{matrix}{\hat{c} = {\underset{\hat{c} \in C}{\arg\mspace{11mu}\min}{{{{\overset{\sim}{r}}_{1} - {\overset{\sim}{H} \cdot \hat{c}}}}^{2}.}}} & (31)\end{matrix}$The corresponding decoder uncertainty is given byΔ_(c) =∥{tilde over (r)} ₁ −{tilde over (H)}·ĉ∥ ².  (32)Moreover, since the channel Matrix {tilde over (H)} is orthogonal, theML decoder will also decompose into two separate rules for c₁ and c₂.

In a similar fashion, considering the modified received signal vector{tilde over (r)}₂, which contains signals only from transmitter 10,i.e.,{tilde over (r)} ₂ ={tilde over (H)}·c+ñ ₂,  (33)it is noted that this expression resembles the expression in equation(4). Hence, the optimum ML decoder for the symbols transmitted byterminal unit 30 evaluates an equation that is similar to the expressionof equation (6), and is given by

$\begin{matrix}{\hat{s} = {\underset{\hat{s} \in S}{\arg\mspace{11mu}\min}{{{{\overset{\sim}{r}}_{2} - {\overset{\sim}{G} \cdot \hat{s}}}}^{2}.}}} & (34)\end{matrix}$The corresponding decoder uncertainty is given byΔ_(s) =∥{tilde over (r)} ₂ −{tilde over (G)}·ŝ∥ ².  (35)Moreover, since the channel Matrix {tilde over (G)} is also orthogonal,the ML decoder will also decompose into two separate rules for s₁ ands₂.

The above-disclosed technique can be easily implemented within adetector 25 that comprises a stored program general purpose processor.Specifically, a subroutine (ĉ,Δ)=ZF.DECODE(r₁, r₂, H₁, H₂, G₁, G₂) canbe installed which returns the values ĉ,Δ in response to submittedinputs r₁, r₂, H₁, H₂, G₁, and G₂, as shown below:

(ĉ, Δ_(c)) = ZF.DECODE(r₁, r₂, H₁, H₂, G₁, G₂) { $\begin{matrix}{\overset{\sim}{r} = {r_{1} - {G_{1}G_{2}^{- 1}r_{2}}}} \\{\overset{\sim}{H} = {H_{1} - {G_{1}G_{2}^{- 1}H_{2}}}} \\{\hat{c} = {\underset{c \in C}{\arg\mspace{14mu}\min}{{\overset{\sim}{r} - {\overset{\sim}{H} \cdot c}}}^{2}}} \\{\Delta_{c} = {{\overset{\sim}{r} - {\overset{\sim}{H} \cdot \hat{c}}}}^{2}}\end{matrix}\quad$ }With such a subroutine, both ŝ and ĉ can be estimated, as follows:(ĉ,Δ)=ZF.DECODE(r ₁ ,r ₂ ,H ₁ ,H ₂ ,G ₁ ,G ₂)  (36)(ŝ,Δ)=ZF.DECODE(r ₂ ,r ₁ ,G ₂ ,G ₁ ,H ₂ ,H ₁).  (37)

It may be noted that knowledge of the noise power N₀ is not required.Simulation results reveal that the performance of the FIG. 1 systemwhich employs the principles disclosed herein and the ZF.DECODEsubroutine is equivalent to that when only one terminal unit exists andthe base station uses a single receive antenna. That is, the receptionis equivalent to the performance of two branch MRRC diversity receiver.Advantageously, however, the disclosed technique is able to support twoco-channel terminal units.

The discussion above centered on describing the technique for cancelingout the signal of transmitter 10 when detecting the signal oftransmitter 30, and for canceling out the signal of transmitter 30 whendetecting the signal of transmitter 10. Effectively, detector 25 ofreceiver 20 can either comprise two processors, with one making thesubroutine call of equation (31) and the other making the subroutinecall of equation (32). Alternatively, the signals can be stored withindetector 25 and the subroutine calls of equations 31 and 32 can be madeseriatim.

Minimum Mean-Squared Error IC and ML Decoding Scheme: Theabove-disclosed approach for canceling the contribution of aninterfering terminal unit is known as the zero-forcing (ZF) as a minimummean-squared error technique (MMSE).

Recalling equation (20), the vector r can also be written as

$\begin{matrix}{r = {{H \cdot \overset{\sim}{c}} + {n\mspace{14mu}{where}}}} & (38) \\{{\overset{\sim}{c} = \begin{bmatrix}{\overset{\sim}{c}}^{T} & {\overset{\sim}{s}}^{T}\end{bmatrix}},{r = {\begin{bmatrix}{\overset{\sim}{r}}_{1}^{T} & {\overset{\sim}{r}}_{2}^{T}\end{bmatrix} = \begin{bmatrix}r_{11} & r_{21}^{*} & r_{12} & r_{22}^{*}\end{bmatrix}^{T}}},{and}} & \; \\{H = \begin{bmatrix}H_{1} & G_{1} \\H_{2} & G_{2}\end{bmatrix}} & (39)\end{matrix}$To simplify notations, the vector r is also defined as r=[r₁ r₂ r₃r₄]^(T).

When seeking to detect and decode signals {c₁,c₂} by minimizing amean-squared error criterion, the goal is find a linear combination ofthe received signals such that the mean-squared error in detecting thesignals {c₁,c₂} is minimized. In general terms, this can be expressed byan error cost function that is to be minimized, such as the function

$\begin{matrix}{{J\left( {\alpha,\beta} \right)} = {{{{\sum\limits_{i = 1}^{4}{\alpha_{i}r_{i}}} - \left( {{\beta_{1}c_{1}} + {\beta_{2}c_{2}}} \right)}}^{2} = {{{\alpha \cdot r} - {\beta \cdot c}}}^{2}}} & (40)\end{matrix}$One may note that a minimum is certainly reached when both α and β areequal to 0, but that, of course, is not desired. Therefore, either β₁ orβ₂ is set to 1. When β₂ is set to 1, we get the following minimizationcriterion from equation (40)

$\begin{matrix}{{J_{1}\left( {\alpha_{1},\beta_{1}} \right)} = {{{{\sum\limits_{i = 1}^{5}{\alpha_{1i}r_{1i}}} - c_{2}}}^{2} = {{{{\overset{\sim}{\alpha}}_{1}{\overset{\sim}{r}}_{1}} - c_{2}}}^{2}}} & (41)\end{matrix}$where {tilde over (α)}₁=[α₁₁,α₁₂,α₁₃,α₁₄,−β₁]=[α₁ −β₁] and {tilde over(r)}₁=[r^(T) c₁]^(T). From this it can be seen that

$\begin{matrix}{{{\overset{\sim}{r}}_{1} = {{{\begin{bmatrix}H & 0^{T} \\0 & 1\end{bmatrix}\begin{bmatrix}\overset{\sim}{c} \\c_{1}\end{bmatrix}} + \begin{bmatrix}n \\0\end{bmatrix}} = {{R \cdot d} + {\eta\mspace{14mu}{where}}}}}{0 = {\begin{bmatrix}0 & 0 & 0 & 0\end{bmatrix}.}}} & (42)\end{matrix}$

What is needed is to select {tilde over (α)}₁ so that the expected valueof the expression in equation (41) is minimized. That is, select {tildeover (α)}₁ to minimizeE{J ₁({tilde over (α)}₁)}=E{({tilde over (α)}₁ {tilde over (r)} ₁ −c₂)({tilde over (α)}₁ {tilde over (r)} ₁ −c ₂)*}.  (43)Taking the partial derivative with respect to {tilde over (α)}₁ andsetting it to zero, what results is

$\begin{matrix}{{\begin{bmatrix}M & h_{1} \\h_{1}^{*} & 1\end{bmatrix}\begin{bmatrix}\alpha_{1}^{*} \\{- \beta_{1}}\end{bmatrix}} = \begin{bmatrix}h_{2} \\0\end{bmatrix}} & (44)\end{matrix}$where

${M = {{HH}^{*} + {\frac{1}{\Gamma}I}}},$Γ is the signal to noise ratio, I is the 4 by 4 identity matrix, h₁ isthe first column of H, and h₂ is the second column of H. It follows thatα₁*=(M−h ₁ h ₁*)⁻¹ h ₂ and β₁ *=h ₁*(M−h ₁ h ₁*)⁻¹ h ₂.  (45)It can be shown that

$\begin{matrix}{{\left( {M - {h_{1}h_{1}^{*}}} \right)^{- 1} = {M^{- 1} - \frac{M^{- 1}h_{1}h_{1}^{*}M^{- 1}}{1 - {h_{1}^{*}M^{- 1}h_{1}}}}},} & (46)\end{matrix}$which yields

$\begin{matrix}{\beta_{1}^{*} = \frac{h_{1}^{*}M^{- 1}h_{2}}{1 - {h_{1}^{*}M^{- 1}h_{1}}}} & (47)\end{matrix}$From the structure of the matrix H we can easily verify that h₁ and h₂are orthogonal. Using this fact and the structure of the matrix M, itcan be shown thatβ₁=0  (48)α₁ *=M ⁻¹ h ₂.  (49)The value of Γ and the values of h_(ij) and g_(ij), and consequently thevalues of H and M are obtained from a training sequence in aconventional manner by elements 23 and 24. Since, as indicated earlier,this is quite conventional and does not form a part of this invention,for sake of conciseness additional details are not presented. Hence, theMMSE IC solution given in equations (45) and (46) will minimize themean-squared error in c₂ without any regard to c₁. Considering thealternative cost function when β₁ is set to 1, a similar analysis leadsto the conclusion thatβ₂=0  (47)α₂ *=M ⁻¹ h ₁  (48)In this case, the MMSE IC solution given in equations (45) and (46) willminimize the mean-squared error in c₁ without any regard to c₂.Therefore, from equations (45)-(48), we can easily see that the MMSEinterference canceller for signals from terminal unit 10 will consist oftwo different sets of weights α₁ and α₂ for c₂ and c₁, respectively. Theweights for decoding signals from terminal 30 can be obtained in asimilar fashion, as expected. Thus, the decoding of signals fromterminal units 10 and 30 can be performed with a single subroutineMMSE.DECODE in decoder 25 as follows:

(c, Δ_(c)) = MMSE.DECODE(r₁, r₂, H₁, H₂, G₁, G₂, Γ) { $\begin{matrix}{\overset{\sim}{r} = \begin{bmatrix}r_{1}^{T} & r_{2}^{T}\end{bmatrix}^{2}} \\{H = \begin{bmatrix}H_{1} & G_{1} \\H_{2} & G_{2}\end{bmatrix}} \\{M = {{HH}^{*} + {\frac{1}{\Gamma}I}}} \\{h_{1} = {\begin{bmatrix}h_{11}^{T} & h_{21}^{T}\end{bmatrix}^{T} = {{first}\mspace{14mu}{column}\mspace{14mu}{of}\mspace{14mu} H}}} \\{h_{2} = {\begin{bmatrix}h_{12}^{T} & h_{22}^{T}\end{bmatrix}^{T} = {{second}\mspace{14mu}{column}\mspace{14mu}{of}\mspace{14mu} H}}} \\{{\alpha_{1}^{*} = {M^{- 1}h_{1}}},{\alpha_{2}^{*} = {M^{- 1}h_{2}}}} \\{{c_{1} = {\underset{{\hat{c}}_{1} \in C}{\arg\mspace{14mu}\min}\mspace{11mu}{{{\alpha_{1}^{*}\overset{\sim}{r}} - {\hat{c}}_{1}}}^{2}}},{c_{2} = {\underset{{\hat{c}}_{2} \in C}{\arg\mspace{14mu}\min}\mspace{11mu}{{{\alpha_{1}^{*}\overset{\sim}{r}} - {\hat{c}}_{2}}}^{2}}}} \\{\Delta_{c} = {{{{\alpha_{1}^{*}\overset{\sim}{r}} - {\hat{c}}_{1}}}^{2} + {{{\alpha_{1}^{*}\overset{\sim}{r}} - {\hat{c}}_{2}}}^{2}}}\end{matrix}\quad$ }With such a subroutine, both ŝ and ĉ can be estimated, as follows:(ĉ,Δ)=MMSE.DECODE(r ₁ ,r ₂ ,H ₁ ,H ₂ ,G ₁ ,G ₂,Γ)  (49)(ŝ,Δ)=MMSE.DECODE(r ₂ ,r ₁ ,G ₁ ,G ₂ ,H ₁ ,H ₂,Γ)  (50)Similar to the zero-forcing case, simulation results reveal that theperformance of the disclosed technique MMSE.DECODE is equivalent to thatwhen only one terminal unit exists and the base station uses a singlereceive antenna which is equivalent to the performance of two branchMRRC diversity. However, this technique is also able to support twoco-channel terminal units. In addition, when the SIR(signal-to-interference ratio, which is a ratio between the desiredterminal power to the interfering terminal power) increases, the MMSEapproach will have a better performance as compared to the ZF case (theZF performance is almost the same as the performance of the MMSEapproach at 0 dB SIR).

Two-Step Interference Cancellation: Actually, additional improvement canbe realized by employing a two-step interference cancellation approachusing either the zero-forcing or the MMSE interference cancellationtechniques disclosed above. Below, we will describe this approach basedon the MMSE technique. However, as one might expect there a similarapproach based on the zero-forcing technique. In this two-step approach,the receiver decodes signals from both terminals using the subroutineMMSE.DECODE disclosed above. Assuming that symbols from the terminalunit 10, ĉ_(o), have been decoded correctly, the receiver can, then,perfectly cancel the contribution of the terminal unit 10 in thereceived signal vectors r₁ and r₂. The receiver then uses r₁ and r₂, thereceived signal vectors after canceling signals from terminal unit 10,to re-decode symbols from terminal unit 30 ŝ_(o) using the optimum MLdecoding rule in equation (10). Assuming that the symbols from terminalunit 10 has been decoded correctly, we can easily see that, theperformance for terminal unit 30 will be equivalent to that with 2transmit and 2 receive antennas (which is equivalent to 4 branch MRCdiversity). If we let Δ_(o)=Δ_(c) _(o) +Δ_(s) _(o) denotes the overalluncertainty for ĉ_(o) and ŝ_(o). The receiver then repeats the abovestep assuming that symbols from terminal unit 30 ŝ₁ have been decodedcorrectly using the MMSE.DECODE subroutine. As before, the receivercancels the contribution of terminal unit 30 in the received signalvectors r₁ and uses y₁ and y₂, the received signal vectors aftercanceling signals from terminal unit 30, to re-decode symbols fromterminal unit 10 ĉ₁ using the optimum ML decoding rule in equation (10).As before, assuming that symbols from terminal unit 30, the performancefor terminal unit 10 will be equivalent to that with 2 transmit and 2receive antennas. Similarly, let Δ₁=Δ_(c) ₁ +Δ_(s) ₁ denotes the overalluncertainty for ĉ₁ and ŝ₁. The receiver then compares the overalluncertainty and chooses the pair (ĉ_(o), ŝ_(o)) if Δ_(o)<Δ₁ and (ĉ₁, ŝ₁)otherwise. The two-step interference cancellation approach based on theMMSE technique disclosed above is presented below in pseudo-codesubroutine II.MMSE.DECODE. As we mentioned earlier, the techniques canbe also used with the zero forcing approach. Below, we also present thepseudo code subroutine II.ZF.DECODE for the two-step interferencecancellation based on the zero-forcing approach.

(ĉ,ŝ) = II. MMSE.DECODE(r₁, r₂, H₁, H₂, G₁, G₂, Γ) { (ĉ₀, Δ_(c,o)) =MMSE.DECODE(r₁, r₂, H₁, H₂, G₁, G₂, Γ) ${\begin{matrix}{\mspace{14mu}{{x_{1} = {r_{1} - {H_{1} \cdot {\hat{c}}_{o}}}},{x_{2} = {r_{2} - {H_{2} \cdot {\hat{c}}_{o}}}}}} \\{\mspace{14mu}{{\hat{s}}_{o} = {\underset{s \in S}{\arg\mspace{14mu}\min}\mspace{11mu}\left( {{{x_{1} - {G_{1} \cdot s}}}^{2} + {{x_{2} - {G_{2} \cdot s}}}^{2}} \right)}}} \\{\Delta_{s,o} = {{{x_{1} - {G_{1} \cdot s}}}^{2} + {{x_{2} - {G_{2} \cdot s}}}^{2}}}\end{matrix}\quad}\quad$ (ŝ₁, Δ_(s,1)) = MMSE.DECODE(r₁, r₂, G₁, G₂, H₁,H₂, Γ) ${\begin{matrix}{\mspace{14mu}{{y_{1} = {r_{1} - {G_{1} \cdot {\hat{s}}_{1}}}},{{\hat{y}}_{2} = {r_{2} - {G_{2} \cdot {\hat{s}}_{1}}}}}} \\{\mspace{14mu}{{\hat{c}}_{1} = {\underset{c \in C}{\arg\mspace{14mu}\min}\mspace{11mu}\left( {{{y_{1} - {H_{1} \cdot c}}}^{2} + {{y_{2} - {H_{2} \cdot c}}}^{2}} \right)}}} \\{\Delta_{c,1} = {{{y_{1} - {H_{1} \cdot c}}}^{2} + {{y_{2} - {H_{2} \cdot c}}}^{2}}}\end{matrix}\quad}\quad$If  (Δ_(c, o) + Δ_(s, o)) < (Δ_(c, 1) + Δ_(s, 1)) ⇒ (ĉ, ŝ) = (ĉ_(o), ŝ_(o))Else (ĉ,ŝ) = (ĉ₁,ŝ₁) } (ĉ,ŝ) = II. ZF.DECODE(r₁, r₂, H₁, H₂, G₁, G₂) {(ĉ₀, Δ_(c,o)) = ZF.DECODE(r₁, r₂, H₁, H₂, G₁, G₂) ${\begin{matrix}{\mspace{14mu}{{x_{1} = {r_{1} - {H_{1} \cdot {\hat{c}}_{o}}}},{x_{2} = {r_{2} - {H_{2} \cdot {\hat{c}}_{o}}}}}} \\{\mspace{14mu}{{\hat{s}}_{o} = {\underset{s \in S}{\arg\mspace{14mu}\min}\mspace{11mu}\left( {{{x_{1} - {G_{1} \cdot s}}}^{2} + {{x_{2} - {G_{2} \cdot s}}}^{2}} \right)}}} \\{\Delta_{s,o} = {{{x_{1} - {G_{1} \cdot s}}}^{2} + {{x_{2} - {G_{2} \cdot s}}}^{2}}}\end{matrix}\quad}\quad$ (ŝ₁, Δ_(s,1)) = ZF.DECODE(r₁, r₂, G₁, G₂, H₁,H₂) ${\begin{matrix}{\mspace{14mu}{{y_{1} = {r_{1} - {G_{1} \cdot {\hat{s}}_{1}}}},{{\hat{y}}_{2} = {r_{2} - {G_{2} \cdot {\hat{s}}_{1}}}}}} \\{\mspace{14mu}{{\hat{c}}_{1} = {\underset{c \in C}{\arg\mspace{14mu}\min}\mspace{11mu}\left( {{{y_{1} - {H_{1} \cdot c}}}^{2} + {{y_{2} - {H_{2} \cdot c}}}^{2}} \right)}}} \\{\Delta_{c,1} = {{{y_{1} - {H_{1} \cdot c}}}^{2} + {{y_{2} - {H_{2} \cdot c}}}^{2}}}\end{matrix}\quad}\quad$If  (Δ_(c, o) + Δ_(s, o)) < (Δ_(c, 1) + Δ_(s, 1)) ⇒ (ĉ, ŝ) = (ĉ_(o), ŝ_(o))Else (ĉ,ŝ) = (ĉ₁,ŝ₁) }

Interference Cancellation and ML Decoding: GENERAL CASE

In the above basic case, we focused on the basic case where we assumedtwo co-channel terminals (K=2) each uses two transmit antennas (N=2).Both terminals communicate with a base station that is equipped with twotransmit antennas (M=2). In this section we will consider the moregeneral case of K≧2 co-channel terminals each is equipped with N≧2transmitting antennas, both terminals communicate with a base that hasreceive M≧K antennas. We will develop similar interference cancellationand ML decoding scheme for this case.

In a paper submitted to IEEE Transactions on Information Theory, VahidTarokh et al. extended the above space-time block coding scheme to thecase when more than two antennas are used for transmission (N≧2). There,a technique for constructing space-time block codes (with similarproperties to the simple scheme described above) was developed. It wasalso shown that for real constellations space-time block codes withtransmission rate 1 can be constructed. However, for a general complexconstellation the rate of transmission for these codes will be less than1.

In general, let us assume that the input information symbols to thetransmitter are grouped into groups of Q symbols c₁, c₂, . . . , c_(Q).A space-time block code in this case will map the symbols c₁, c₂, . . ., c_(Q) into an N×L array C whose entries are made ±c₁, ±c₂, . . . ,±c_(Q) and ±c₁*, ±c₂*, . . . , ±c_(Q)*. At time t, where 1≦t≦L, the t-thcolumn of C is transmitted from the N antennas. In this case, thetransmission rate of such code will be Q/L. In general, for a rate Q/Lspace-time block code (as constructed by V. Tarokh et al.) designed forN transmit antenna, let r₁, r₂, . . . , r_(L) be the received signals attime t=1, 2, . . . , L. As before, we define the received signal vectorasr=[r ₁ r ₂ . . . r _(L/2) r _(L/2+1) *r _(L/2+2) * . . . r_(L)*]^(T)  (51)where the L×1 vector r can be written asr=H·c+η  (52)and H is the L×Q channel matrix whose entries are from ±h₁, ±h₂, . . . ,±h_(N), ±h₁*, ±h₂*, . . . , ±h_(N)*, and it is an orthogonal matrix,c=[c₁ c₂ . . . c_(Q)], and η is an L×1 zero-mean complex Gaussian randomvector with covariance N_(o)·I which models the noise. The ML decoder inthis case is similar to that in equation (6), that is

$\begin{matrix}{\hat{c} = {\arg\mspace{11mu}{\min\limits_{\hat{c} \in C}{{r - {H \cdot \hat{c}}}}^{2}}}} & (53)\end{matrix}$and the uncertainty, Δ_(c), of the decoded symbols ĉ is given byΔ_(c) =∥r−H·ĉ∥ ².  (54)As before, since the channel matrix H is orthogonal, the decoding rulein (53) decomposes into Q separate decoding rules for c₁, c₂, . . . ,c_(Q). For example, assuming that the terminal unit uses 4 transmitantenna, a rate 4/8 (i.e. it is a rate ½) space-time block code is givenby

$\left. \begin{bmatrix}c_{1} \\c_{2} \\c_{3} \\c_{4}\end{bmatrix}\rightarrow\begin{bmatrix}c_{1} & {- c_{2}} & {- c_{3}} & {- c_{4}} & c_{1}^{*} & {- c_{2}^{*}} & {- c_{3}^{*}} & {- c_{4}^{*}} \\c_{2} & c_{1} & c_{4} & {- c_{3}} & c_{2}^{*} & c_{1}^{*} & c_{4}^{*} & {- c_{3}^{*}} \\c_{3} & {- c_{4}} & c_{1} & c_{2} & c_{3}^{*} & {- c_{4}^{*}} & c_{1}^{*} & c_{2}^{*} \\c_{4} & c_{3} & {- c_{2}} & c_{1} & c_{4}^{*} & c_{3}^{*} & {- c_{2}^{*}} & c_{1}^{*}\end{bmatrix} \right.$In this case, at time t=1 c₁, c₂, c₃, c₄ are transmitted from antenna 1through 4, respectively. At time t=2, −c₂, c₁, −c₄, c₃ are transmittedfrom antenna 1 through 4, respectively, and so on. For this example, letr₁, r₂, . . . , r₈ be the received signals at time t=1, 2, . . . , 8.Define the received signal vector r=[r₁ r₂ r₃ r₄ r₅ ^(*) r₆ ^(*) r₇ ^(*)r₈*]^(T). In this case, we can write the received signal vector r can bewritten asr=H·c+η  (55)where η is the 8×1 AWGN noise vector and H is the 8×4 channel matrixgiven by:

$\begin{matrix}{H = \begin{bmatrix}h_{1} & h_{2} & h_{3} & h_{4} \\h_{2} & {- h_{1}} & h_{4} & {- h_{3}} \\h_{3} & {- h_{4}} & {- h_{1}} & h_{2} \\h_{4} & h_{3} & {- h_{2}} & {- h_{1}} \\h_{1}^{*} & h_{2}^{*} & h_{3}^{*} & h_{4}^{*} \\h_{2}^{*} & {- h_{1}^{*}} & h_{4}^{*} & {- h_{3}^{*}} \\h_{3}^{*} & {- h_{4}^{*}} & {- h_{1}^{*}} & h_{2}^{*} \\h_{4}^{*} & h_{3}^{*} & {- h_{2}^{*}} & {- h_{1}^{*}}\end{bmatrix}} & (56)\end{matrix}$We can immediately notice that the matrix H is orthogonal, that isH*H=D_(h)·I where

$D_{h} = {\sum\limits_{i = 1}^{4}{{h_{i}}^{2}\mspace{14mu}{and}}}$I is a 4×4 identity matrix.

Let us now assume a multi-user environment with K co-channelsynchronized terminals. Each terminal uses a rate Q/L space-time blockcode with N transmit antenna (as constructed by V. Tarokh et al). Thebase station uses M≧K antennas for reception. We can write the receivedsignal vector at the m-th receive antenna as

$\begin{matrix}{{r_{m} = {{\sum\limits_{k = 1}^{K}{H_{km} \cdot c_{k}}} + \eta_{m}}},{m = 1},2,\ldots\mspace{14mu},M} & (57)\end{matrix}$where H_(km) is the L×Q k-th user channel matrix to antenna m,c_(k)=[c_(k1) c_(k2) . . . c_(kQ)]^(T) is the Q×1 information symbolsvector for k-th user, and η_(m) is the L×1 noise vector. The entries ofthe k-th user channel matrix H_(km) are from ±h_(k,m,1), ±h_(k,m,2), . .. , ±h_(k,m,N) and ±h_(k,m,1)*, ±h_(k,m,2)*, . . . , ±h_(k,m,N)*, whereh_(k,m,n) is the complex channel gain between transmit antenna n of thek-th user and receive antenna m. As we stated earlier, the matrix H_(km)is orthogonal.

Zero-Forcing IC and ML Decoding: Without loss of generality, let usassume that we are interested in suppressing signals from co-channelterminals 2, 3, . . . , K while decoding signals from the firstterminal. This can be done in a successive manner as follows.

First, let us define r_(m) ⁽⁰⁾=r_(m). Let us assume that we start bycanceling out the contributions of the K-th terminal. We can use theM-th antenna received signal vector r_(M) to cancel out the contributionof the K-th terminal in the remaining M−1 received signal vectors byforming the modified received signal vectors r_(m) ⁽¹⁾, m=1, . . . , M−1as follows:r _(m) ⁽¹⁾ =r _(m) ⁽⁰⁾ −H _(Km) H _(KM) ⁺ r _(M) ⁽⁰⁾ m=1, 2, . . .M−1  (58)where H_(km) ⁺ is the generalized inverse of the channel matrix H_(km)and is given byH _(km) ⁺=(H _(km) *H _(km))⁻¹ H _(km) ^(*)  (59)We can easily verify that H_(km) ⁺H_(km)=I, where I is the Q×Q identitymatrix. We can easily verify that the modified received signal vectorsr_(m) ⁽¹⁾, m=1, . . . , M−1, do not contain any signal contribution dueto the K-th user. Moreover, we can easily verify that r_(m) ⁽¹⁾ can bewritten as

$\begin{matrix}{{r_{m}^{(1)} = {{\sum\limits_{k = 1}^{K - 1}{H_{km}^{(1)} \cdot c_{k}}} + \eta_{m}^{(1)}}},{m = 1},2,\ldots\mspace{14mu},{M - 1}} & (60)\end{matrix}$where H_(km) ⁽¹⁾ and η_(m) ⁽¹⁾ are given byH _(km) ⁽¹⁾ =H _(km) ⁽⁰⁾ −H _(Km) ⁽⁰⁾(H _(KM) ⁽⁰⁾)⁺ H _(kM) ⁽⁰⁾, m=1, 2,. . . , M−1  (61)η_(m) ⁽¹⁾=η_(m) ⁽⁰⁾ −H _(Km) ⁽⁰⁾(H _(KM) ⁽⁰⁾)⁺η_(M) ⁽⁰⁾, m=1, 2, . . . ,M−1  (62)Moreover, it can be shown that for codes constructed by V. Tarokh et al,the modified channel matrix H_(km) ⁽¹⁾ will have exactly the samestructure as that of H_(km). That is, the entries of the k-th usermodified channel matrix H_(km) ⁽¹⁾ are from ±h_(k,m,1) ⁽¹⁾, ±h_(k,m,2)⁽¹⁾, . . . , ±h_(k,m,N) ⁽¹⁾ and ±h_(k,m,1) ^((1)*), ±h_(k,m,2) ^((1)*),. . . , ±h_(k,m,N) ^((1)*), where h_(k,m,n) ⁽¹⁾ is the modified complexchannel gain between transmit antenna n of the k-th user and receiveantenna m, m=1, . . . , M−1. Hence, the modified channel matrix H_(km)⁽¹⁾ will be orthogonal as well.

It can then be observed that the expression for the M−1 modifiedreceived signal vector r_(m) ⁽¹⁾ in equation (60) is the same as that inequation (57) except that we now have one less interfering terminal. Ina similar fashion, we can cancel out the contributions of terminal K−1and obtain M−2 modified received signal vectors r_(m) ⁽²⁾, m=1, . . . ,M−2 that do not contain any contributions from terminals K-th and K−1.In general, after stage j, where j=1, 2, . . . , K−1 contributions fromterminals K, K−1, . . . , K−j+1 are canceled out and we are left withM−j modified received signal vectors r_(m) ^((j)), m=1, . . . , M−j,j=1, 2, . . . , K−1 that contain signals due to terminals 1, 2, . . . ,K−j only. In this case, we will have

$\begin{matrix}{{r_{m}^{(j)} = {{\sum\limits_{k = 1}^{K - j}\;{H_{k,m}^{(j)} \cdot c_{k}}} + \eta_{m}^{(j)}}},{m = 1},2,\ldots\mspace{11mu},{M - j}} & (63)\end{matrix}$where H_(k,m) ^((j)) and η_(m) ^((j)) are given by

$\begin{matrix}{{r_{m}^{(j)} = {{r_{m}^{({j - 1})} - {{H_{{K - j},m}^{({j - 1})}\left( H_{{K - j},{M - j}}^{({j - 1})} \right)}^{+}r_{M - j}^{({j - 1})}m}} = 1}},2,{{\ldots\mspace{14mu} M} - j}} & (64) \\{{H_{k,m}^{(j)} = {H_{k,m}^{({j - 1})} - {{H_{{K - j},m}^{({j - 1})}\left( H_{{K - j},{M - j}}^{({j - 1})} \right)}^{+}H_{k,{M - j}}^{({j - 1})}}}},{1 \leq m \leq {M - j}},{1 \leq k \leq {K - j}}} & (65) \\{{\eta_{m}^{(j)} = {\eta_{m}^{({j - 1})} - {{H_{{K - j},m}^{({j - 1})}\left( H_{{K - j},{M - j}}^{({j - 1})} \right)}^{+}\eta_{M - j}^{({j - 1})}}}},{m = 1},2,\ldots\mspace{11mu},{M - j}} & (66)\end{matrix}$

This process is repeated until we are left with M−K+1 modified receivedsignal vectors r_(m) ^((K−1)), m=1, . . . , M−K+1 that contain onlycontributions due to the first terminal. In this case we will haver _(m) ^((K−1)) =H _(1,m) ^((K−1)) ·c ₁+η_(m) ^((K−1)), m=1, 2, . . . ,M−K+1  (67)which contains signals due to the first terminal only. Similarly, themodified channel matrix H_(1,m) ^((K−1)), m=1, 2, . . . , M−K+1, willhave a similar structure and is also orthogonal. Hence, it is straightforward to see that the ML decoder for signals from the first terminalis given by

$\begin{matrix}{{\hat{c}}_{1} = {\underset{{\hat{c}}_{1} \in C}{\arg\;\min}{\sum\limits_{m = 1}^{M - K + 1}\;{{r_{m}^{({K - 1})} - {H_{1,m}^{({K - 1})} \cdot {\hat{c}}_{1}}}}^{2}}}} & (68)\end{matrix}$and the corresponding uncertainty will be given by

$\begin{matrix}{\Delta_{1} = {\sum\limits_{m = 1}^{M - K + 1}\;{{r_{m}^{({K - 1})} - {H_{1,m}^{({K - 1})} \cdot {\hat{c}}_{1}}}}^{2}}} & (69)\end{matrix}$Similarly, since the modified channel matrices H_(1,m) ^((K−1)),1≦m≦M−K+1 are orthogonal, as before, the decoding rule in (68) willdecompose into Q separate rules for decoding c₁₁, c₁₂, . . . , c_(1Q).We may observe that tie basic case for zero-forcing IC and ML decodingthat we discussed in detail earlier is a special case of the aboveapproach.

(ĉ, Δ) = G_ZFDECODE({r_(m)}_(1≦m≦M),{H_(km)}_(1≦k≦K,1≦m≦M)) {${\begin{matrix}{{r_{m}^{(0)} = r_{m}},{1 \leq m \leq M}} \\{{H_{k,m}^{(0)} = H_{k,m}},{1 \leq m \leq M},{1 \leq k \leq K}} \\{{{for}\mspace{14mu} j} = \left. 1\rightarrow{K - 1} \right.}\end{matrix}\quad}\quad$ M_(j) = M − j, K_(j) = K − j for i = 1 → M_(j)$\begin{matrix}{r_{i}^{(j)} = {r_{i}^{({j - 1})} - {{H_{K_{j}j}^{({j - 1})}\left( H_{K_{j},M_{j}}^{({j - 1})} \right)}^{+}r_{M_{j}}^{({j - 1})}}}} \\{{H_{k,i}^{(j)} = {H_{k,i}^{({j - 1})} - {{H_{K_{j},m}^{({j - 1})}\left( H_{K_{j},M_{j}}^{({j - 1})} \right)}^{+}H_{k,M_{j}}^{({j - 1})}}}},{1 \leq k \leq K_{j}}}\end{matrix}\quad$ end end $\begin{matrix}{\hat{c} = {\underset{\hat{c} \in \; C}{\arg\mspace{14mu}\min}{\sum\limits_{m = 1}^{M - K + 1}{{r_{m}^{({K - 1})} - {H_{1,m}^{({K - 1})} \cdot \hat{c}}}}^{2}}}} \\{\Delta = {\sum\limits_{m = 1}^{M - K + 1}{{r_{m}^{({K - 1})} - {H_{1,m}^{({K - 1})} \cdot \hat{c}}}}^{2}}}\end{matrix}\quad$ }

The above-disclosed technique can be easily implemented within adetector 25 that comprises a stored program general purpose processor.Specifically, a subroutine(c,Δ)=G_ZFDECODE({r_(m)}_(1≦m≦M),{H_(km)}_(1≦k≦K, 1≦m≦M)) can beinstalled which returns the values c,Δ in response to submitted inputs{r_(m)}_(1≦m≦M) and {H_(km)}_(1≦k≦K, 1≦m≦M), as shown above.

Minimum Mean-Squared Error IC and ML Decoding Scheme: The MMSE IC and MLdecoding in the general case can be developed in a similar fashion asfollows. We recall the received signal vector at the m-th receiveantenna in equation (57)

$\begin{matrix}{{r_{m} = {{\sum\limits_{k = 1}^{K}\;{H_{km} \cdot c_{k}}} + \eta_{m}}},{m = 1},2,\ldots\mspace{11mu},M} & (70)\end{matrix}$This can be written in a matrix form as in equation (38)

$\begin{matrix}\begin{matrix}{r = {{H \cdot \overset{\sim}{c}} + n}} \\{{{{where}\mspace{14mu} r} = {\left\lbrack {r_{1}^{T}r_{2}^{T}\ldots\mspace{14mu} r_{M}^{T}} \right\rbrack^{T}{is}\mspace{14mu} a\mspace{14mu}{ML} \times 1\mspace{20mu}{vector}}},\overset{\sim}{c}} \\{{= {\left\lbrack {c_{1}^{T}c_{2}^{T}\ldots\mspace{14mu} c_{K}^{T}} \right\rbrack^{T}{is}\mspace{14mu}{QK} \times 1\mspace{20mu} a\mspace{20mu}{vector}}},} \\{{n = {\left\lbrack {\eta_{1}^{T}\eta_{2}^{T}\ldots\mspace{14mu}\eta_{M}^{T}} \right\rbrack^{T}{is}\mspace{14mu} a\mspace{20mu}{ML} \times 1\mspace{20mu}{vector}}},{and}}\end{matrix} & (71) \\{H = \begin{bmatrix}H_{11} & H_{21} & \ldots & H_{K\; 1} \\H_{12} & H_{22} & \ldots & H_{K\; 2} \\\vdots & \vdots & ⋰ & \vdots \\H_{1M} & H_{2M} & \ldots & H_{KM}\end{bmatrix}} & (72)\end{matrix}$is the ML×QK channel matrix. As before, we redefine the vector r asr=[r₁ r₂ . . . r_(ML)]^(T). As before, we assume that we are interestedin decoding the symbols transmitted from terminal 1 c₁₁, c₁₂, . . . ,c_(1Q). As before, when seeking to detect and decode signals c₁₁, c₁₂, .. . , c_(1Q) by minimizing a mean-squared error criterion, the goal isfind a linear combination of the received signals such that themean-squared error in detecting the signals c₁₁, c₁₂, . . . , c_(1Q) isminimized. In general terms, this can be expressed by an error costfunction that is to be minimized, such as the function

$\begin{matrix}{{J\left( {\alpha,\beta} \right)} = {{{{\sum\limits_{i = 1}^{LM}\;{\alpha_{i}r_{i}}} - {\sum\limits_{j = 1}^{Q}\;{\beta_{j}c_{1j}}}}}^{2} = {{{\alpha \cdot r} - {\beta \cdot c_{1}}}}^{2}}} & (73)\end{matrix}$Similarly, as before we can see that one of the β_(j),1≦j≦Q must be setto 1 or else we get an all zero solution for α and β. Consider the casewhere we set β_(j)=1. Hence, in this case, the criteria to be minimizedis

$\begin{matrix}{{{{{J_{j}\left( {\alpha_{j},\beta_{j}} \right)} = {{{{\sum\limits_{i = 1}^{{LM} + Q - 1}\;{\alpha_{ji}r_{ji}}} - c_{1j}}}^{2} = {{{{\overset{\sim}{\alpha}}_{j}{\overset{\sim}{r}}_{j}} - c_{1j}}}^{2}}},{1 \leq j \leq Q}}{where}}\mspace{11mu}} & (74) \\{{\overset{\sim}{\alpha}}_{j} = {\left\lbrack {\alpha_{j\; 1},\alpha_{j\; 12},\ldots\mspace{11mu},\alpha_{jLM},{- \beta_{1}},\ldots\mspace{11mu},{- \beta_{j - 1}},{- \beta_{j + 1}},\ldots\mspace{11mu},{- \beta_{Q}}} \right\rbrack = \left\lbrack {\alpha_{j} - \beta_{j}} \right\rbrack}} & (75) \\{{\overset{\sim}{r}}_{j} = \left\lbrack {r_{j}^{T}c_{11}\ldots\mspace{14mu} c_{{1j} - 1}c_{j + 1}\ldots\mspace{14mu} c_{1Q}} \right\rbrack^{T}} & (76)\end{matrix}$If we follow the same steps as in the basic case, we arrive at theconclusion thatβ_(i)(j)=0 i=1, . . . Q, i≠j=1 i=j  (77)α_(j) *=M ⁻¹ h _(j), 1≦j≦Q  (78)where h_(j) is the j-th column of the channel matrix H, and M=HH*+1/ΓI,is an ML×ML matrix, Γ is the signal to noise ratio, and I is the ML×MLidentity matrix.

In this case, as before, the error in decoding the j-th symbol c_(1j)will be minimized without any regard to the other symbols. Hence, theMMSE-IC and ML decoder will consist of Q different combiners, one foreach symbol. It should be clear now that the MMSI-IC solution for thegeneral case is a straight forward extension to the basic case shownearlier. The MMSE-IC solution for the general case can be implementedusing the subroutine G_MMSE.DECODE shown below.

(ĉ, Δ) = G_MMSEDECODE({r_(m)}_(1≦m≦M), {H_(km)}_(1≦k≦K,1≦m≦M), Γ) {$\begin{matrix}{r = \begin{bmatrix}r_{1}^{T} & r_{2}^{T} & \cdots & r_{M}^{T}\end{bmatrix}^{T}} \\{H = \begin{bmatrix}H_{11} & H_{21} & \cdots & H_{K1} \\H_{12} & H_{22} & \cdots & H_{K2} \\\vdots & \vdots & ⋰ & \vdots \\H_{1M} & H_{2M} & \cdots & H_{KM}\end{bmatrix}} \\{M = {{HH}^{*} + {\frac{1}{\Gamma}I}}} \\{{{for}\mspace{14mu} j} = \left. 1\rightarrow Q \right.}\end{matrix}\quad$ $\begin{matrix}{h_{j} = {j - {{th}\mspace{14mu}{column}\mspace{14mu}{of}\mspace{14mu} H}}} \\{\alpha_{j}^{*} = {M^{- 1}h_{j}}} \\{c_{j} = {\underset{{\hat{c}}_{j} \in \; C}{\arg\mspace{14mu}\min}{{{\alpha_{j}^{*}r} - {\hat{c}}_{j}}}^{2}}} \\{\Delta_{j} = {{{\alpha_{j}^{*}r} - {\hat{c}}_{j}}}^{2}}\end{matrix}\quad$ end $\begin{matrix}{\hat{c} = \begin{bmatrix}c_{1} & c_{2} & \cdots & c_{Q}\end{bmatrix}^{T}} \\{\Delta = {\sum\limits_{j = 1}^{Q}\Delta_{j}}}\end{matrix}\quad$ }

1. A method for decoding a set of M signals received at a base stationfrom a plurality of cell phones that transmit on a given channel,characterized by the step of: processing said M signals, received over Ltime intervals, where L is an integer, which signals are related tochannel coefficients between transmitting points of said cell phones andthe base station, to cancel interference from K of said cell phones,where M and K are integers such that M≧2 and K≦M, and to identitysignals that likely were transmitted by said cell phones through maximumlikelihood detection where said canceling of interference and maximumlikelihood detection is performed by minimizing expression thatcorresponds to a magnitude of said received signals multiplied byselected coefficients α and subtracted from probable symbols sent by aselected one of said cell phones multiplied by selected coefficients β,where said α coefficients are related to channel coefficients of saidcell phones and to channel coefficients of said selected one of saidcell phones, and at least one of the β coefficients is set to
 1. 2. Amethod for decoding a set of M signals received at a base station from aplurality of cell phones that transmit on a given channel, characterizedby the step of: processing said M signals, received over L timeintervals, where L is an integer, which signals are related to channelcoefficients between transmitting points of said cell phones and thebase station, to cancel interference from K of said cell phones, where Mand K are integers such that M≧2 and K≦M, and to identity signals thatlikely were transmitted by said cell phones through maximum likelihooddetection where said step of processing effects both interferencecancellation and maximum likelihood detection in a combined processingstep, and where said combined processing step minimizes an error signalJ(α,β) expressed${{{\sum\limits_{i = 1}^{LM}\;{\alpha_{i}r_{i}}} - c_{xj}}}^{2}$ whereL is a number of time periods over which said M signals are received,r_(i) is a member of a set that comprises the signals received at the Mantennas over said L time periods, and c_(xj) is a member of a set ofsignals related to a set of signals transmitted by antennas of terminalunit x where j is an integer such that 1≦j≦Q, Q is the number of signalsin a group of signals, and α_(i), is a coefficient related to channelcoefficients between said set of cell phones and an input interface;repeating said step of processing for different values off; and applyingsignals developed through said step of processing to a location fromwhich the signals may be applied to post processing that culminates insignals adapted for delivery to users.
 3. The method of claim 2 wheresaid combined processing step is performed by executing a subroutinethat includes the steps of: computing values of said α_(j)* coefficientsfrom α_(j)*=M⁻¹h_(j), and for each computed value of α_(j)*, minimizingexpression ∥α_(j)*r−ĉ_(j)∥² where r is a vector of received signals atsaid M antennas over said L time periods, and ĉ_(j) is a decoded signaltaken from a set C that includes all sent signals c, where${M = {{HH}^{*} + {\frac{1}{\Gamma}I}}},$ I is the identity matrix, Γ isa signal-to-noise measure, H is matrix $\begin{bmatrix}H_{11} & H_{21} & \cdots & H_{K\; 1} \\H_{12} & H_{22} & \cdots & H_{K\; 2} \\\vdots & \vdots & ⋰ & \vdots \\H_{1M} & H_{2M} & \cdots & H_{KM}\end{bmatrix},$ H_(km) is a matrix of coefficients from a terminal unitk to receiving antenna m, and h_(j) is the j-th column of matrix H. 4.The method of claim 3 where the steps of computing and minimizing arerepeated Q times, developing an estimate of signals transmitted by acell phones whose coefficients are represented by H_(1m) 1≦m≦M.
 5. Themethod of claim 4 where said subroutine is executed a number of times,and each time it is executed the H_(1m) 1≦m≦M corresponds tocoefficients of a different one of said cell phones.
 6. The method ofclaim 3 where said subroutine also evaluates an uncertainty measurerepresented by Δ_(j)=∥α_(j)*r−c_(j)∥².
 7. The method of claim 4 wheresaid subroutine also evaluates an uncertainty measure represented byΔ_(j)=∥α_(j)*r−c_(j)∥² with each of said Q repetitions, with differentvalues of j, and sums those measures to obtain an overall uncertaintymeasure for a given terminal unit that correspond to$\sum\limits_{j = 1}^{Q}\;{\Delta_{j}.}$
 8. The method of claim 4 wheresaid subroutine is executed a number of times; each time it is executedthe H_(1m) 1≦m≦M corresponds to coefficients of a different one of saidcell phones; and between each execution of the subroutine that decodessignals sent by a selected terminal unit, and a subsequent execution ofthe subroutine to detect signals sent by another cell phones,contribution of the signals sent by said selected terminal unit asdetected by said execution of the subroutine is removed from signalsreceived at said M antennas.
 9. The method of claim 8 where saidsubroutine also evaluates an uncertainty measure represented byΔ_(j)=∥α_(j)*r−c_(j)∥² with each of said Q repetitions, with differentvalues of j, and sums those measures to obtain an overall uncertaintymeasure for a given terminal unit that correspond to$\sum\limits_{j = 1}^{Q}\;{\Delta_{j}.}$
 10. The method of claim 9 wheresaid subroutine is executed a chosen number of times, each timedetecting the signals sent by said plurality of cell phones in adifferent sequence of terminal unit detections, and selecting thosedetections of cell phones' signals that produce the lowest uncertaintymeasures.